|
|
#define EYE SENSOR_2
#define LEFT OUT_A
#define RIGHT OUT_C
#define ACCURACY 50
#define WAIT_TIME 15
int midpoint;
void steer() {
if (EYE <= (midpoint-ACCURACY)) {
Rev(LEFT);
until(EYE > (midpoint-ACCURACY));
Fwd(LEFT); Wait(WAIT_TIME);
} else if (EYE >= (midpoint+ACCURACY)) {
Rev(RIGHT);
until(EYE < (midpoint+ACCURACY));
Fwd(RIGHT); Wait(WAIT_TIME);
}
}
task main() {
SetSensor(EYE, SENSOR_LIGHT);
// I'm using raw because it's more accurate than percent
SetSensorMode(EYE, SENSOR_MODE_RAW);
midpoint = EYE - ACCURACY;
On (LEFT + RIGHT);
while(true) { steer(); }
}
|
|